package com.example.sql_2_code_demo.entity;

import java.util.Date;
import java.io.Serializable;

/**
 * 订单商品信表——记录订单商品信息快照(OrderItem)实体类
 *
 * @author makejava
 * @since 2022-10-09 10:01:37
 */
public class OrderItem implements Serializable {
    private static final long serialVersionUID = 913955062804219303L;
    /**
     * 主键id
     */
    private Long id;
    /**
     * 订单id
     */
    private Long orderCode;
    /**
     * 订单id
     */
    private Long orderId;
    /**
     * 产品spu_id
     */
    private Long goodsSpuId;
    /**
     * 商品sku编号
     */
    private Long goodsSkuId;
    /**
     * 对goodsSpu表的 spuType 的快照。课程类型=0；培训类型=1；题库类型=2；活动报名=3；会员收费=4；考试类型=5；试卷类型=6（如：课程类型0时候关联课件表：goods_spu_oss_resources）
     */
    private Integer spuType;
    /**
     * spu 的 开始时间快照
     */
    private Date spuStartTime;
    /**
     * 产品编号
     */
    private String goodsCode;
    /**
     * spu 的 结束时间快照
     */
    private Date spuEndTime;
    /**
     * 产品名字
     */
    private String goodsName;
    /**
     * 部门ID
     */
    private Long createDept;
    /**
     * 租户ID
     */
    private String tenantId;
    /**
     * 更新人ID
     */
    private Long updateUser;
    /**
     * 创建人ID
     */
    private Long createUser;
    /**
     * 修改时间
     */
    private Date updateTime;
    /**
     * 提交时间
     */
    private Date createTime;
    /**
     * 删除状态：0->未删除；2->已删除
     */
    private Integer isDeleted;
    /**
     * 启用禁止状态：1->启用；0->禁止；
     */
    private Integer status;
    /**
     * 合同订单中：总价 = 单价*数量
     */
    private Double goodsTotalPrice;
    /**
     * 最低限价（元）
     */
    private Double minPrice;
    /**
     * 成本价，默认0,单位分
     */
    private Integer basePrice;
    /**
     * 最小起售（数量）
     */
    private Integer minSale;
    /**
     * 单位
     */
    private String unit;
    /**
     * 父合同订单项id，用于储存创建合同订单项时返回的spuId、skuId
     */
    private Long parentId;
    /**
     * 备注
     */
    private String remark;
    /**
     * 购买数量
     */
    private Integer goodsQuantity;
    /**
     * 成交价：销售价-商品优惠总价
     */
    private Double goodsStrikePrice;
    /**
     * 虚拟商品;0否，大于等于1：是，1为系统功能模块，2及其以上未定
     */
    private Integer goodsVirtualStatus;
    /**
     * 销售价格（单位：分)
     */
    private Double goodsPrice;
    /**
     * 商品封面图片,单张
     */
    private String goodsImageHome;
    /**
     * 商品描述
     */
    private String goodsDescribeDetail;
    /**
     * 培训id快照
     */
    private Long goodsSpuTrainId;
    /**
     * 订单所属人id
     */
    private Long ownerUserId;
    /**
     * 培训id快照
     */
    private Long goodsTrainSpuStageId;
    /**
     * 商品副标题
     */
    private String goodsSubName;
    /**
     * sku 成交价 * 数量
     */
    private Double totalPrice;
    /**
     * 商品分类id
     */
    private Long goodsCategoryId;
    /**
     * 商品分类名称的快照
     */
    private String goodsCategoryName;
    /**
     * 当spuType为4，会员缴费时，此字段有效，代表此会员缴费年份的快照
     */
    private Integer membershipFeesYear;
    /**
     * 订单是否支付成功：0：失败；1：支付成功（已购买）
     */
    private Integer tradeStatus;


    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getOrderCode() {
        return orderCode;
    }

    public void setOrderCode(Long orderCode) {
        this.orderCode = orderCode;
    }

    public Long getOrderId() {
        return orderId;
    }

    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }

    public Long getGoodsSpuId() {
        return goodsSpuId;
    }

    public void setGoodsSpuId(Long goodsSpuId) {
        this.goodsSpuId = goodsSpuId;
    }

    public Long getGoodsSkuId() {
        return goodsSkuId;
    }

    public void setGoodsSkuId(Long goodsSkuId) {
        this.goodsSkuId = goodsSkuId;
    }

    public Integer getSpuType() {
        return spuType;
    }

    public void setSpuType(Integer spuType) {
        this.spuType = spuType;
    }

    public Date getSpuStartTime() {
        return spuStartTime;
    }

    public void setSpuStartTime(Date spuStartTime) {
        this.spuStartTime = spuStartTime;
    }

    public String getGoodsCode() {
        return goodsCode;
    }

    public void setGoodsCode(String goodsCode) {
        this.goodsCode = goodsCode;
    }

    public Date getSpuEndTime() {
        return spuEndTime;
    }

    public void setSpuEndTime(Date spuEndTime) {
        this.spuEndTime = spuEndTime;
    }

    public String getGoodsName() {
        return goodsName;
    }

    public void setGoodsName(String goodsName) {
        this.goodsName = goodsName;
    }

    public Long getCreateDept() {
        return createDept;
    }

    public void setCreateDept(Long createDept) {
        this.createDept = createDept;
    }

    public String getTenantId() {
        return tenantId;
    }

    public void setTenantId(String tenantId) {
        this.tenantId = tenantId;
    }

    public Long getUpdateUser() {
        return updateUser;
    }

    public void setUpdateUser(Long updateUser) {
        this.updateUser = updateUser;
    }

    public Long getCreateUser() {
        return createUser;
    }

    public void setCreateUser(Long createUser) {
        this.createUser = createUser;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Integer getIsDeleted() {
        return isDeleted;
    }

    public void setIsDeleted(Integer isDeleted) {
        this.isDeleted = isDeleted;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Double getGoodsTotalPrice() {
        return goodsTotalPrice;
    }

    public void setGoodsTotalPrice(Double goodsTotalPrice) {
        this.goodsTotalPrice = goodsTotalPrice;
    }

    public Double getMinPrice() {
        return minPrice;
    }

    public void setMinPrice(Double minPrice) {
        this.minPrice = minPrice;
    }

    public Integer getBasePrice() {
        return basePrice;
    }

    public void setBasePrice(Integer basePrice) {
        this.basePrice = basePrice;
    }

    public Integer getMinSale() {
        return minSale;
    }

    public void setMinSale(Integer minSale) {
        this.minSale = minSale;
    }

    public String getUnit() {
        return unit;
    }

    public void setUnit(String unit) {
        this.unit = unit;
    }

    public Long getParentId() {
        return parentId;
    }

    public void setParentId(Long parentId) {
        this.parentId = parentId;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public Integer getGoodsQuantity() {
        return goodsQuantity;
    }

    public void setGoodsQuantity(Integer goodsQuantity) {
        this.goodsQuantity = goodsQuantity;
    }

    public Double getGoodsStrikePrice() {
        return goodsStrikePrice;
    }

    public void setGoodsStrikePrice(Double goodsStrikePrice) {
        this.goodsStrikePrice = goodsStrikePrice;
    }

    public Integer getGoodsVirtualStatus() {
        return goodsVirtualStatus;
    }

    public void setGoodsVirtualStatus(Integer goodsVirtualStatus) {
        this.goodsVirtualStatus = goodsVirtualStatus;
    }

    public Double getGoodsPrice() {
        return goodsPrice;
    }

    public void setGoodsPrice(Double goodsPrice) {
        this.goodsPrice = goodsPrice;
    }

    public String getGoodsImageHome() {
        return goodsImageHome;
    }

    public void setGoodsImageHome(String goodsImageHome) {
        this.goodsImageHome = goodsImageHome;
    }

    public String getGoodsDescribeDetail() {
        return goodsDescribeDetail;
    }

    public void setGoodsDescribeDetail(String goodsDescribeDetail) {
        this.goodsDescribeDetail = goodsDescribeDetail;
    }

    public Long getGoodsSpuTrainId() {
        return goodsSpuTrainId;
    }

    public void setGoodsSpuTrainId(Long goodsSpuTrainId) {
        this.goodsSpuTrainId = goodsSpuTrainId;
    }

    public Long getOwnerUserId() {
        return ownerUserId;
    }

    public void setOwnerUserId(Long ownerUserId) {
        this.ownerUserId = ownerUserId;
    }

    public Long getGoodsTrainSpuStageId() {
        return goodsTrainSpuStageId;
    }

    public void setGoodsTrainSpuStageId(Long goodsTrainSpuStageId) {
        this.goodsTrainSpuStageId = goodsTrainSpuStageId;
    }

    public String getGoodsSubName() {
        return goodsSubName;
    }

    public void setGoodsSubName(String goodsSubName) {
        this.goodsSubName = goodsSubName;
    }

    public Double getTotalPrice() {
        return totalPrice;
    }

    public void setTotalPrice(Double totalPrice) {
        this.totalPrice = totalPrice;
    }

    public Long getGoodsCategoryId() {
        return goodsCategoryId;
    }

    public void setGoodsCategoryId(Long goodsCategoryId) {
        this.goodsCategoryId = goodsCategoryId;
    }

    public String getGoodsCategoryName() {
        return goodsCategoryName;
    }

    public void setGoodsCategoryName(String goodsCategoryName) {
        this.goodsCategoryName = goodsCategoryName;
    }

    public Integer getMembershipFeesYear() {
        return membershipFeesYear;
    }

    public void setMembershipFeesYear(Integer membershipFeesYear) {
        this.membershipFeesYear = membershipFeesYear;
    }

    public Integer getTradeStatus() {
        return tradeStatus;
    }

    public void setTradeStatus(Integer tradeStatus) {
        this.tradeStatus = tradeStatus;
    }

}

